#ifndef __edaLinearCoolingSchedule_h__
#define __edaLinearCoolingSchedule_h__

#include "edaCoolingSchedule.h"
#include "edaBuffer.h"
#include "edaDefine.h"

class edaLinearCoolingSchedule: public edaCoolingSchedule
{
  /**
   * Default constructor
   */
 public:
  edaLinearCoolingSchedule() {}
  edaLinearCoolingSchedule(double _threshold, double _quantity);
  edaCoolingSchedule *clone() const;
  bool check(double &temperature);
  virtual void Serialize(edaBuffer &buf, bool pack);

  setClassID(_SYSCLASSID_ + _CLSID_LINEAR_COOLING_SCHEDULE_);
  
 private:
  // Temperature threshold
  double threshold;
  // Quantity of temperature allows to decrease
  double quantity;
};

#endif
